// 全面验证Index.ets文件修复情况的脚本
const fs = require('fs');
const path = require('path');

const filePath = path.join(__dirname, 'entry', 'src', 'main', 'ets', 'pages', 'Index.ets');

try {
  const content = fs.readFileSync(filePath, 'utf8');
  
  console.log('=== 全面代码验证 ===\n');
  
  // 检查是否移除了不存在的导入
  const hasComponentsImport = /import.*@ohos\.components/.test(content);
  console.log(`✓ 移除@ohos.components导入: ${!hasComponentsImport ? '是' : '否 ❌'}`);
  
  // 检查是否移除了tabsController声明
  const hasTabsControllerDecl = /private\s+tabsController/.test(content);
  console.log(`✓ 移除tabsController声明: ${!hasTabsControllerDecl ? '是' : '否 ❌'}`);
  
  // 检查是否移除了所有tabsController引用
  const hasTabsControllerRef = /this\.tabsController/.test(content);
  console.log(`✓ 移除所有tabsController引用: ${!hasTabsControllerRef ? '是' : '否 ❌'}`);
  
  // 检查是否移除了@ohos/tabs导入
  const hasTabsImport = /import.*@ohos\/tabs/.test(content);
  console.log(`✓ 移除@ohos/tabs导入: ${!hasTabsImport ? '是' : '否 ❌'}`);
  
  // 检查是否移除了BarPosition引用
  const hasBarPositionRef = /BarPosition/.test(content);
  console.log(`✓ 移除所有BarPosition引用: ${!hasBarPositionRef ? '是' : '否 ❌'}`);
  
  // 检查barPosition配置
  const hasBarPosition = /barPosition/.test(content);
  console.log(`✓ barPosition检查: ${!hasBarPosition ? '是' : '否 ❌'}`);
  
  // 检查是否使用currentTabIndex进行状态管理
  const hasCurrentTabIndex = /this\.currentTabIndex\s*=\s*\d+/.test(content);
  console.log(`✓ 使用currentTabIndex进行状态管理: ${hasCurrentTabIndex ? '是' : '否 ❌'}`);
  
  // 检查语法是否正确 - 简单的括号匹配检查
  const bracketCount = (content.match(/\{/g) || []).length - (content.match(/\}/g) || []).length;
  console.log(`✓ 括号匹配正确: ${bracketCount === 0 ? '是' : `否 ❌ (差额: ${bracketCount})`}`);
  
  // 检查是否有未闭合的字符串
  const singleQuoteCount = (content.match(/'/g) || []).length % 2;
  const doubleQuoteCount = (content.match(/"/g) || []).length % 2;
  console.log(`✓ 字符串引号闭合: ${singleQuoteCount === 0 && doubleQuoteCount === 0 ? '是' : '否 ❌'}`);
  
  // 总结
  console.log('\n=== 验证总结 ===');
  if (!hasComponentsImport && !hasTabsImport && !hasTabsControllerDecl && 
      !hasTabsControllerRef && !hasBarPositionRef && !hasBarPosition && 
      hasCurrentTabIndex && bracketCount === 0 && singleQuoteCount === 0 && doubleQuoteCount === 0) {
    console.log('✅ 所有验证通过！代码语法和结构正确。');
    console.log('✅ 不再引用任何不存在的模块或变量。');
    console.log('✅ 项目现在应该能够在正确配置的HarmonyOS开发环境中成功构建。');
  } else {
    console.log('❌ 仍有部分验证未通过，请检查上述标记。');
  }
  
} catch (error) {
  console.error('读取文件时出错:', error.message);
}